﻿/* ********************************************************************************
 * 名称：ISysRole_ApplicationService
 * 描述：系统角色表  应用服务接口（本类通过CodeSmith软件生成生成）
 * 创建人：HFL
 * 创建日期：2020-06-01 17:48:54
 * 修改人：
 * 修改日期：
 * *******************************************************************************/
using WPay.Application.Base;
using WPay.Domain.Model.DTOs;
using WPay.Domain.Model.Entities;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using Model;

namespace WPay.Application.Interface
{
    /// <summary>
    /// 系统角色表 应用服务接口
    /// </summary>
    public interface ISysRole_ApplicationService : IApplication_IocServices
    {
        #region 由软件生成，禁止修改，若需要扩展，请在下方进行扩展
        /// <summary>
        /// 根据主键获取系统角色表资料信息
        /// </summary>
        /// <param name="_iD"></param>
        /// <returns>返回API交互数据输出模型</returns>
        RespDto Get(string _iD);
        
        /// <summary>
        /// 获取所有记录
        /// </summary>
        /// <param name="_cpnID">企业代码</param>
        /// <returns>返回API交互数据输出模型</returns>
        RespDto GetAll(string _cpnID);
        
        /// <summary>
        /// 获取所有记录
        /// </summary>
        /// <param name="_param">查询条件字典，其中key必须使用字段名</param>
        /// <returns>返回API交互数据输出模型</returns>
        RespDto GetAll(Hashtable _param);
        
        /// <summary>
        /// 按照分页条件查询数据集
        /// </summary>
        /// <param name="_param">查询条件字典，其中key必须使用字段名</param>
        /// <param name="_pageIndex">查询页码，从1开始，必传</param>
        /// <param name="_pageSize">每页查询数据条数，必传</param>
        /// <param name="_sort">排序列名，若要降序请用列名+" DESC"，必传</param>
        /// <returns>返回API交互数据输出模型</returns>
        RespDto GetByPage(Hashtable _param, int _pageIndex, int _pageSize, string _sort);
        
        /// <summary>
        /// 插入系统角色表数据
        /// </summary>
        /// <param name="_sysRole">需要插入的系统角色表数据实体</param>
        /// <returns>返回API交互数据输出模型</returns>
        RespDto Add(SysRole _sysRole);
        
        /// <summary>
        /// 批量插入系统角色表数据
        /// </summary>
        /// <param name="_sysRoleList">需要插入的系统角色表数据集合</param>
        /// <returns>返回API交互数据输出模型</returns>
        RespDto Add(List<SysRole> _sysRoleList);
        
        /// <summary>
        /// 根据主键更新系统角色表数据
        /// </summary>
        /// <param name="_sysRole">需要更新的系统角色表数据实体</param>
        /// <returns>返回API交互数据输出模型</returns>
        RespDto Update(SysRole _sysRole);
        
        /// <summary>
        /// 根据主键更新系统角色表指定字段
        /// </summary>
        /// <param name="_sysRole">需要更新的系统角色表数据实体</param>
        /// <param name="_updateProNames">需要更新的字段名</param>
        /// <returns>返回API交互数据输出模型</returns>
        RespDto Update(SysRole _sysRole, params string[] _updateProNames);
        
        
        #endregion
        
        /*业务扩展代码*/
        #region 业务扩展代码
        
        #endregion
    }
}
